$(function() {
    var events = {};
    events.init = function() {
        // 初始化
        $("#mysource").show();
        $("#mypointer").hide();

        var editId;

        //表格数据的初始化
        events.showHouses();

        events.attentions();

        //批量下架
        events.withdrawPros();

        $("#pointer").click(function() {
            $("#mysource").hide();
            $("#mypointer").show();
        });

        $("#source").click(function() {
            $("#mysource").show();
            $("#mypointer").hide();
        });

        $("#deletePros").click(function(){
            var opts=$('#tb_house').bootstrapTable('getSelections');
            if(opts == ""){
                alert("请至少选择一行要删除的房源信息");
            }
            else{
                var idArray=[];
                for(var i=0;i<opts.length;i++){
                    idArray.push(opts[i].id);
                }
                if(confirm("确认删除所有选中房源信息吗?")){
                    $.ajax({
                        url : '/house/del.do',
                        type : 'post',
                        async : false,// 同步
                        traditional : true,// 传数组，阻止深度序列化
                        data : {
                            "arr" : idArray
                        },
                        dateType : 'json',
                        success : function(data) {
                            if (data.status == 0) {
                                alert("删除成功!");
                                $('#tb_house').bootstrapTable('refresh', {
                                    query : {
                                        offset : 0,
                                        limit : 5
                                    }
                                });
                            } else {
                                alert("删除失败!");
                            }
                        }
                    });
                }
            }
        });

        /*//批量删除
        events.deletePros();
*/
        //图片上传
        events.fishFileInput();

        /*//修改房源信息图片上传
        events.fishFileInputs();*/
    };
    //初始化列表
    events.showHouses=function(){
        $('#tb_house').bootstrapTable(
            {
                url : '/house/list.do',
                queryParams : events.queryParams,//查询参数，页码和页面大小
                method : "post",
                pagination : true,//开启分页功能
                pageNumber : 1,//初始化加载第一页
                pageSize : 10,//默认每页显示记录条数
                pageList : [5,10,20],//可选每页记录条数，从小写到到(必须)
                sidePagination : "server",//分页方式，服务器端
                striped : true,//显示间隔色
                cache : false,
                uniqueId : "id",//每一行的唯一标识
                height : 500,//高度
                paginationPreText : "上一页",//上一页按钮的样式(按钮上的文本值)
                paginationNextText : "下一页",//
                contentType : "application/x-www-form-urlencoded",
                columns : [//列设置
                    {
                        checkbox : true,
                    },
                    {
                        title : '操作',
                        field : 'id',
                        width:150,
                        formatter : actionFormatter
                    },
                    {
                        title : '城市',
                        field : 'city'
                    },
                    {
                        title : '区',
                        field : 'area'
                    },
                    {
                        title : '街道',
                        field : 'street'
                    },
                    {
                        title : '价格',
                        formatter: function (value, row, index) {
                            var price = row.price + " " + "万元";
                            return price;
                        }
                    },
                    {
                        title : '图片',
                        align: 'center',
                        valign: 'middle',
                        width: 40, // 定义列的宽度，单位为像素px
                        height: 40,
                        formatter: function (value, row, index) {
                            var img = '<img style="width:40px; height:40px;"  src="'+ "http://localhost/" + row.image + '" />';
                            return img
                        }
                    },
                    {
                        title : '联系电话',
                        field : 'sellerPhone',
                    },{
                        title : '审核是否通过',
                        formatter: function(value, row, index) {
                            var result = "";
                            if(row.status < 6) {
                                result += "审核未通过：联系管理员";
                                result += "<P>电话：18371501571</P>";
                            } else {
                                result += "审核通过";
                            }
                            return result;
                        }
                    },]
            });
    }

    //初始化列表
    events.attentions=function(){
        $('#tb_attention').bootstrapTable(
            {
                url : '/attention/list.do',
                queryParams : events.queryParams,//查询参数，页码和页面大小
                method : "post",
                pagination : true,//开启分页功能
                pageNumber : 1,//初始化加载第一页
                pageSize : 5,//默认每页显示记录条数
                pageList : [5,10,20],//可选每页记录条数，从小写到到(必须)
                sidePagination : "server",//分页方式，服务器端
                striped : true,//显示间隔色
                cache : false,
                uniqueId : "id",//每一行的唯一标识
                height : 300,//高度
                paginationPreText : "上一页",//上一页按钮的样式(按钮上的文本值)
                paginationNextText : "下一页",//
                contentType : "application/x-www-form-urlencoded",
                columns : [//列设置
                    {
                        title : '描述',
                        field : 'houseDes'
                    },
                    {
                        title : '房子地址',
                        field : 'houseAddr'
                    },
                    {
                        title : '图片',
                        align: 'center',
                        valign: 'middle',
                        width: 40, // 定义列的宽度，单位为像素px
                        height: 40,
                        formatter: function (value, row, index) {
                            var img = '<img style="width:40px; height:40px;"  src="'+ "http://localhost/" + row.houseImage + '" />';
                            return img
                        }
                    },
                    {
                        title : '关注时间',
                        field : 'attentionTime'
                    },
                    {
                        title : '联系电话',
                        field: 'phone'
                    }]
            });
    }

    //操作栏初始化
    function actionFormatter(value, row) {
        var id = value;
        var result = "";
        result += "<a href='javascript:;' onclick=\"EditGoodsById('"+ row.id + "'"+","+"'"+ row.business + "'"+","+"'"+ row.name
            + "'"+","+"'"+ row.standard +"')\" title='编辑'>修改</a>&nbsp;&nbsp;";
        return result;
    }


    //分页参数
    events.queryParams = function(params) {
        var p = {
            limit : params.limit, // 页面大小
            offset : params.offset,// 页码
            type: 1
        };
        return p;
    }

    //单件房源信息下架
    WithdrawById = function(id){
        var withdraw=confirm("确认下架该房源信息?");
        if(withdraw)
        {
            $.ajax({
                url : contextPath + '/Manager/withdrawPro',
                type : 'post',
                async : false,// 同步
                data : {
                    ID : id
                },
                dateType : 'json',
                success : function(data) {
                    if (data =="1") {
                        alert("下架成功!");
                        $('#table').bootstrapTable('refresh', {
                            query : {
                                offset : 0,
                                limit : 5
                            }
                        });
                    } else {
                        alert("下架失败!");
                    }
                }
            });
        }
    }

    //批量房源信息下架
    events.withdrawPros = function()
    {
        $("#withdrawPros").click(function(){
            var opts=$('#tb_house').bootstrapTable('getSelections');
            if(opts == ""){
                alert("请至少选择一行要下架的房源信息!");
            }
            else{
                var idArray=[];
                for(var i=0;i<opts.length;i++){
                    idArray.push(opts[i].id);
                }
                if(confirm("确认下架所有选中房源信息吗?")){
                    $.ajax({
                        url : '/house/del.do',
                        type : 'post',
                        async : false,// 同步
                        traditional : true,// 传数组，阻止深度序列化
                        data : {
                            "arr" : idArray
                        },
                        dateType : 'json',
                        success : function(data) {
                            if (data =="1") {
                                alert("下架成功!");
                                $('#tb_house').bootstrapTable('refresh', {
                                    query : {
                                        offset : 0,
                                        limit : 5
                                    }
                                });
                            } else {
                                alert("下架失败!");
                            }
                        }
                    });
                }
            }
        });
    }

    /*//单件房源信息删除
    DeleteById = function(id)
    {
        var cdelete=confirm("确认删除该房源信息?");
        if(cdelete)
        {
            $.ajax({
                url : '/house/del.do',
                type : 'post',
                async : false,// 同步
                data : {
                    ID : id,
                },
                dateType : 'json',
                success : function(data) {
                    if (data =="1") {
                        alert("删除成功!");
                        $('#table').bootstrapTable('refresh', {
                            query : {
                                offset : 0,
                                limit : 5
                            }
                        });
                    } else {
                        alert("删除失败!");
                    }
                }
            });
        }
    }*/

    /*//批量房源信息删除
    events.deletePros = function()
    {

    }*/

    //确定改价提交
    $("#proPriceSubmit").click(function(){
        var editId=[];
        var opts=$('#table').bootstrapTable('getSelections');
        var price=removeAllSpace($("#updatePrice").val());
        var result=true;
        var message="";
        for(var i=0;i<opts.length;i++){
            editId.push(opts[i].id);
            if((opts[i].price-price) <= 0 && $('input:radio:checked').val() == "调低")
            {
                message="调低价不可大于等于所选房源信息最低价格!";
                result = false;
                break;
            }
        }
        if(!checkPrice(price))
        {
            message="请输入正确价格格式(整数5位数字小数2位数字)!";
            result=false;
        }
        if($('input:radio:checked').val() == "调高" && price > 5000)
        {
            message="调高价最高为5000";
            result=false;
        }
        if(!checkPrice(price))
        {
            message="请输入正确价格格式(整数5位数字小数2位数字)!";
        }
        if(result == false)
        {
            alert(message);
        }
        else
        {
            $.ajax({
                url : '/house/del.do',
                type : 'post',
                async : false,// 同步
                traditional : true,// 传数组，阻止深度序列化
                data : {
                    arr : editId,
                    edittype : $('input:radio:checked').val(),
                    price : removeAllSpace($("#updatePrice").val())
                },
                dateType : 'json',
                success : function(data) {
                    if (data =="1") {
                        alert("改价成功!");
                        location.reload();
                    } else {
                        alert("改价失败!");
                    }
                }
            });
        }
    });


    //模态框弹出,带参数过去
    EditGoodsById = function(id,business,name,standard){
        //弹出修改房源信息信息窗口
        $("#eproId").val(id);
        $("#ebusiness").val(business);
        $("#ename").val(name);
        $("#estandard").val(standard);
        $("#editGoods").modal('show');
    }

    //修改房源信息表单提交
    $("#modifyGoodsSubmit").click(function() {
        var valid=0;
        var notvalid=0;
        var message="未输入修改信息";//提示信息
        var price = $("#eprice").val();
        var detail = removeAllSpace($("#edetail").val());
        if(detail !=null && detail != ""){//有修改详情
            valid += 1;
        }
        if($("#eprice").val().length > 0)//价格
        {
            if(checkPrice(price) && editProForm.eprice.value>0){
                valid +=1;
            }
            else{
                notvalid +=1;
                message="请输入正确价格格式(整数5位数字小数2位数字)!";
            }
        }
        if(valid > 0 && notvalid == 0){

            var picturename = "";
            picturename = $("#einputfile").val().substring(
                $("#einputfile").val().indexOf('.'),
                $("#einputfile").val().length).toUpperCase();
            if (picturename == ".JPG" || picturename == ".PNG"
                || picturename == ""
                || picturename == ".BMP"
                || picturename == ".JPEG") {
                $.ajax({
                    type : 'post',
                    url : contextPath
                    + '/house/update.do',
                    data : {
                        id : $("#eproId").val(),
                        price : $("#eprice").val(),
                        efficiency : $("#eefficiency").val(),
                        stock : $("#estock").val(),
                        reserveStock : $("#ereserveStock").val(),
                        detail : removeAllSpace($("#edetail").val()),
                    },
                    success : function(data) {
                        // 不上传图片时，不触发bootstrap
                        // 上传插件的初始化方法。仅将表单里面的（除图片以外的）内容提交，
                        if (data == "1"
                            && $("#einputfile")
                                .val() != "") {
                            $('#einputfile').fileinput(
                                'upload'); // 触发插件开始上传。
                        } else if (data == "1"
                            && $("#einputfile")
                                .val() == "") {
                            alert("修改成功");
                            location.reload();
                        } else {
                            alert("修改失败");

                        }
                    }
                });
            } else {
                alert("只能上传.jpg，.png，.PNG,.JPG,bmp,jpeg格式的图片");
                return false;
            }
        }else if($("#einputfile").val() == ""){
            alert(message);
        }else{
            var picturename = "";
            picturename = $("#einputfile").val().substring(
                $("#einputfile").val().indexOf('.'),
                $("#einputfile").val().length).toUpperCase();
            if (picturename == ".JPG" || picturename == ".PNG"
                || picturename == ""
                || picturename == ".BMP"
                || picturename == ".JPEG") {
                $('#einputfile').fileinput(
                    'upload'); // 触发插件开始上传。
            }else{
                alert("只能上传.jpg，.png，.PNG,.JPG,bmp,jpeg格式的图片");
                return false;
            }

        }

    });

    // 添加房源信息弹出框
    $("#addPro").click(function() {
        $("#myModal").modal('show');
    });

    // 添加房源信息校验
    $("#addProSubmit").click(function() {
        //提示信息
        var message="";
        //验证结果
        var result=true;
        var city = removeAllSpace($("#city").val());
        var area = removeAllSpace($("#area").val());
        var street = removeAllSpace($("#street").val());
        var price = removeAllSpace($("#price").val());
        var size = removeAllSpace($("#size").val());
        var sellerPhone = removeAllSpace($("#phone").val());
        var description = removeAllSpace($("#description").val());
        if($("#inputfile").val() == "" || $("#inputfile").val()==null)
        {
            message = "未添加图片!";
            result = false;

        }
        if(description == null || description =="")
        {
            message = "详情不能为空!";
            result=false;
        }
        if(size == null || size =="")
        {
            message = "面积不能为空!";
            result=false;
        }
        if(sellerPhone == null || sellerPhone =="")
        {
            message = "手机号不能为空!";
            result=false;
        }
        if(price == null || price =="")
        {
            message = "价格不能为空!";
            result=false;
        }
        if(street == null || street =="")
        {
            message="街道不能为空!";
            result=false;
        }
        if(area == null || area =="")
        {
            message="区不能为空!";
            result=false;
        }
        if(city == null || city =="")
        {
            message="城市不能为空!";
            result=false;
        }
        //房源信息输入校验结果成功，执行以下
        if(result)
        {//获取验证结果，如果成功，执行下面代码
            // 提交
            var picturename = "";
            picturename = $("#inputfile").val().substring(
                $("#inputfile").val().indexOf('.'),
                $("#inputfile").val().length).toUpperCase();
            if (picturename == ".JPG" || picturename == ".PNG"
                || picturename == ""
                || picturename == ".BMP"
                || picturename == ".JPEG") {//数据校验和图片格式校验成功，提交
                $('#inputfile').fileinput('upload');

            } else {
                alert("只能上传.jpg，.png，.PNG,.JPG,bmp,jpeg格式的图片");
                return false;
            }

        }

    });

    /**
     * 添加房源信息图片上传初始化
     */
    events.fishFileInput = function() {
        $("#inputfile").fileinput({
            language : 'zh', // 设置语言
            autoReplace : true,
            type : 'post',
            uploadUrl : '/house/add.do', // 上传
            allowedFileExtensions : [ 'jpg', 'gif', 'png' ],// 接收的文件后缀
            /*uploadExtraData : {

             },*/
            uploadAsync : false, // 默认异步上传
            showUpload : false, // 是否显示上传按钮
            showRemove : true, // 显示移除按钮
            showPreview : false, // 是否显示预览
            showCaption : false,// 是否显示标题
            browseClass : "btn btn-primary", // 按钮样式
            dropZoneEnabled : false,// 是否显示拖拽区域
            maxFileSize : 0,// 单位为kb，如果为0表示不限制文件大小
            // minFileCount: 0,
            maxFileCount : 1, // 表示允许同时上传的最大文件个数
            enctype : 'multipart/form-data',
            validateInitialCount : true,
            previewFileIcon : "<i class='glyphicon glyphicon-king'></i>",
            msgFilesTooMany : "选择上传的文件数量({n}) 超过允许的最大数值{m}！",
            layoutTemplates : {
                actionDelete : '',
                actionUpload : '',
                actionZoom : ''
            },
            uploadExtraData : function(previewId, index) {
                // 向后台传递id作为额外参数，使后台可以根据id修改对应的图片地址。
                var obj = {};
                obj.city = removeAllSpace($("#city").val());
                obj.area =removeAllSpace($("#area").val());
                obj.street = removeAllSpace($("#street").val());
                obj.price = removeAllSpace($("#price").val());
                obj.sellerPhone = removeAllSpace($("#phone").val());
                obj.description = removeAllSpace($("#description").val());
                obj.size = removeAllSpace($("#size").val());
                return obj;
            }
        }).on("filebatchuploadsuccess", function(event, data) {
            var res = data.response;
            if (res == "1")
            {
                alert("新增成功");
                location.reload();
            }
            else if(res == "2")
            {
                alert("添加失败");
            }
            else
            {
                alert("房源信息已存在");
            }
        });

    };

    //修改房源信息图片上传
    events.fishFileInputs = function()
    {
        $("#einputfile").fileinput({
            language : 'zh', // 设置语言
            autoReplace : true,
            type : 'post',
            uploadUrl : contextPath + '/Manager/load.do', // 上传
            allowedFileExtensions : [ 'jpg', 'gif', 'png' ],// 接收的文件后缀
            /*uploadExtraData : {

             },*/
            uploadAsync : false, // 默认异步上传
            showUpload : false, // 是否显示上传按钮
            showRemove : true, // 显示移除按钮
            showPreview : false, // 是否显示预览
            showCaption : false,// 是否显示标题
            browseClass : "btn btn-primary", // 按钮样式
            dropZoneEnabled : false,// 是否显示拖拽区域
            maxFileSize : 0,// 单位为kb，如果为0表示不限制文件大小
            // minFileCount: 0,
            maxFileCount : 1, // 表示允许同时上传的最大文件个数
            enctype : 'multipart/form-data',
            validateInitialCount : true,
            previewFileIcon : "<i class='glyphicon glyphicon-king'></i>",
            msgFilesTooMany : "选择上传的文件数量({n}) 超过允许的最大数值{m}！",
            layoutTemplates : {
                actionDelete : '',
                actionUpload : '',
                actionZoom : ''
            },
            uploadExtraData : function(previewId, index) {
                // 向后台传递id作为额外参数，使后台可以根据id修改对应的图片地址。
                var obj = {};
                obj.id=$("#eproId").val();
                return obj;
            }
        }).on("filebatchuploadsuccess", function(event, data) {

            var res = data.response;
            if (res == "1")
            {
                alert("修改成功");
                location.reload();
            }
            else if(res == "2")
            {
                //alert("上传图片失败");
                alert("修改失败");
            }
        });

    };


    /*
     *
     *
     * JS数据校验
     */
    //清除空格
    function removeAllSpace(str) {
        return str.replace(/\s+/g, "");
    }

    //价格校验
    function checkPrice(price)
    {
        if(price.length>0 && price.length<=8)
        {

            var reg=/^[0-9]{1,5}([.][0-9]{1,2})?$/;
            if(reg.test(price))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            return false;
        }
    }

    $(events.init);
})